ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseオペレーション・ガイド
リリース7.0
E05167-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

索引の理解

索引は、表の検索のパフォーマンスを大幅に向上させる補助的なデータ構造です。問合せオプティマイザで問合せの実行を高速化するために使用されます。問合せオプティマイザについては、「TimesTen問合せオプティマイザ」を参照してください。

TimesTenには、表への高速アクセスを可能にするハッシュ索引およびTツリー(または範囲)索引の2種類の索引が用意されています。

ハッシュ索引は一致検索の場合にのみ有効ですが、Tツリーおよび等価結合は一致検索および範囲検索(以上、以下など)で使用できます。したがって、あるフィールドに主キーを設定してFIELD > 10かどうかを確認する場合、主キー索引では検索が効率的に行われません。この場合は、別の索引のほうが効率的です。


注意: 完全一致検索の場合、ハッシュ索引はTツリー索引よりも高速になりますが、Tツリー索引より多くの領域が必要となります。範囲指定の検索の場合、ハッシュ索引は使用できません。

索引は、一意なものとして指定できます。つまり、表の各行で、索引を設定した列に一意の値を指定できます。一意索引は、NULL値可能の列に対しても作成できます。SQL標準に従って、複数のNULL値を一意索引に指定できます。

TimesTenでは、データ値をソートする場合、NULL値はNULL以外のすべての値より大きい値とみなされます。NULL値の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』を参照してください。

データへの高速アクセスには、ハッシュ索引およびTツリー索引のみでなく、ROWIDによる検索も使用できます。ROWIDによる検索は、これらの2つの索引による検索より高速です。ROWIDの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』を参照してください。